etapa3: ast.o y.tab.o lex.yy.o main.o symbols_table.o
	gcc -o etapa3 ast.o y.tab.o lex.yy.o main.o symbols_table.o

main.o: main.c
	gcc -c main.c

ast.o: ast.c
	gcc -c ast.c

symbols_table.o: symbols_table.c
	gcc -c symbols_table.c

lex.yy.o: lex.yy.c
	gcc -c lex.yy.c

lex.yy.c: scanner.l y.tab.c
	flex --header-file=lex.yy.h scanner.l 

y.tab.o: y.tab.c
	gcc -c y.tab.c

y.tab.c: parser.y
	yacc parser.y -d

clean:
	rm *.o lex.yy.c y.tab.c etapa3
